﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Net.Mail;
using Geotargeting;
public partial class joinPage : System.Web.UI.Page
{
    VLGDataContext _db5 = new VLGDataContext();
    static string prev = String.Empty;
    protected void Page_Load(object sender, EventArgs e)
    {
       // Label1.Text = (DateTime.Now.DayOfYear-180).ToString();
        Session["currentItem"] = "dangkyp";
        if (!IsPostBack)
        {
            //if (Session["KhachHang"] == null || Session["KhachHang"] == "")
            //{
            //    Response.Redirect(ResolveClientUrl("Default.aspx"));
            //}
            //else
            //{
            //}
        }
    }
    protected void ImageButton1_Click1(object sender, ImageClickEventArgs e)
    {
        if (Session["KhachHang"] != null)
        {
            Literal1.Text = "<script type=\"text/javascript\">" +
                                 "$(function() { " +
                                 "alert(\"Bạn đã đăng nhập nên không thể tạo tài khoản.\");" +
                                 "});" +
                                 "</script>";
        }
        else
        {
            #region Finding Visitors IP Address
            string userIP = string.Empty;
            //Users IP Address.                
            if (HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null)
            {
                //To get the IP address of the machine and not the proxy
                userIP = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString();
            }
            else if (HttpContext.Current.Request.UserHostAddress.Length != 0)
            {
                userIP = HttpContext.Current.Request.UserHostAddress;
            }
            else
            {
                userIP = Request.ServerVariables["REMOTE_ADDR"];
            }
            string FullDBPath = Server.MapPath("App_Data/GeoLiteCity.dat");
            LookupService ls = new LookupService(FullDBPath,LookupService.GEOIP_STANDARD);
            Location location = ls.getLocation(userIP);
            #endregion

            string ip = location.countryCode.ToLower();
            string username = txtUser.Text.Trim();
            string email = txtEmail.Text.Trim();
            string mk = AllCode.Utils.Mahoa(txtMK.Text.Trim());
            try
            {

                VLGAccount checktk = _db5.VLGAccounts.Single(uccs => uccs.UsernameE == username);
                Literal1.Text = "<script type=\"text/javascript\">" +
                                     "$(function() { " +
                                     "alert(\"Tài khoản đã có hoặc Email đã tồn tại\");" +
                                     "});" +
                                     "</script>";
            }
            catch
            {
                if (CaptchaCtrl1.IsValid)
                {
                    try
                    {
                        String captcha15 = AllCode.Utils.TaoChuoiNgauNhien(15);
                        
                        VLGAccount taotk = new VLGAccount()
                        {
                            UsernameE = username,
                            Email = email,
                            Password = mk,
                            Active = false,
                            NgayTao = DateTime.Now,
                            chuoiCaptcha = AllCode.Utils.Mahoa(captcha15),
                            ipAddress = ip,
                            idGroup = "user",
                            soTien = 0,
                            soTienPaypal = 0,
                            urlAvatar = "",

                        };
                        _db5.VLGAccounts.InsertOnSubmit(taotk);
                        _db5.SubmitChanges();

                        try
                        {
                            // Xây dựng địa chỉ kich hoạt tài khoản
                            int index = Request.Url.AbsoluteUri.IndexOf("joinPage.aspx");
                            String UserActivateUrl = Request.Url.AbsoluteUri.Substring(0, index) + "activePage.aspx?icc=" + taotk.idAcc + "&cpt=" + AllCode.Utils.Mahoa(captcha15) + "&u=" + taotk.UsernameE;

                            String urlweb = "<a href=\"http://www.vieclamgap.net\"></a>";
                            String emailKH = taotk.Email;
                            String subject = "Chào mừng bạn đến với Câu Lạc Bộ Việc Làm Gấp !";
                            String body = String.Format(@"<p style='font-size:14px;'>Chào bạn, bạn hay ai đó đã tạo tài khoản trên trang {0}.
                                    Vui lòng click vào link bên dưới để có thể bắt đầu sử dụng tài khoản.<br/><br/>
                                    <a href='{1}'>Kích hoạt tài khoản </a><br/><br/>
                                    <p style='font-size:14px'>Nếu bạn không kích hoạt trong vòng <b>7 ngày</b> kể từ ngày đăng ký - {2} - thì bạn phải kích hoạt lại.<br/><br/> Cảm ơn !", urlweb, UserActivateUrl, DateTime.Now);
                            GoogleMailer.Send(email, subject, body);

                            Response.Redirect(ResolveClientUrl("~/joinSucc.aspx"));
                        }
                        catch
                        {
                            Literal1.Text = "<script type=\"text/javascript\">" +
                                             "$(function() { " +
                                             "alert(\"Email kích hoạt của bạn chưa được gửi đi! Vui lòng liên hệ Admin.\");" +
                                             "});" +
                                             "</script>";
                        }

                    }
                    catch (Exception da)
                    {
                        Literal1.Text = "<script type=\"text/javascript\">" +
                                           "$(function() { " +
                                           "alert(\"Vui lòng kiểm tra lại thông tin hoặc Email đã được sử dụng.\");" +
                                           "});" +
                                           "</script>";
                    }
                }
                else
                {
                    Literal1.Text = "<script type=\"text/javascript\">" +
                                           "$(function() { " +
                                           "alert(\"Nhập mã chưa đúng.\");" +
                                           "$('#capcha').val('')" +
                                           "$('#capcha').focus()" +
                                           "});" +
                                           "</script>";
                }
            }


        }

    }
 
}
